package com.uaf.vxalipaybill.feign.service.v1.read;

import javax.validation.Valid;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import com.uaf.api.vo.req.BaseReqVo;
import com.uaf.api.vo.resp.BaseRespVo;
import com.uaf.vxalipaybill.api.vo.req.VxAlipayBillDataExtractReqVo;
import com.uaf.vxalipaybill.api.vo.req.VxAlipayBillQueryReqVo;
import com.uaf.vxalipaybill.api.vo.resp.VxAlipayBillDataInputsRespVo;
import com.uaf.vxalipaybill.api.vo.resp.VxAlipayBillQueryRespVo;
import com.uaf.vxalipaybill.feign.service.v1.read.fallback.VxAlipayBillReadServiceHystrix;

/**
 * @filename IVxAlipayBillReadService.java
 * @description 微信支付宝账单熔断
 * @author 马庆智
 * @date 2021/9/6 12:06
 */
@FeignClient(value = "microservice-gateway",
		fallback = VxAlipayBillReadServiceHystrix.class)
public interface IVxAlipayBillReadService {

	/**
	 * 功能描述 微信支付宝账单授权结果查询
	 * @param reqVo 授权查询接口
	 * @return  vxAlipayBillQueryRespVo 返回授权状态
	 * @author 马庆智
	 * @date 2021/9/23 18:09
	 */
	@PostMapping(value = "/vxalipaybill/v1/queryVxAlipayAuthResult")
	BaseRespVo<VxAlipayBillQueryRespVo> queryVxAlipayAuthResult(@RequestBody @Valid BaseReqVo<VxAlipayBillQueryReqVo> reqVo);

	/**
	 * 功能描述 壹融站SAS数据提取-微信支付宝账单数据接口
	 * @param baseReqVo 请求报文
	 * @return com.uaf.vxalipaybill.api.vo.resp.VxAlipayBillDataInputsRespVo
	 * @author 马庆智
	 * @date 2021/10/8 11:08
	 */
	@PostMapping(value = "/vxalipaybill/v1/dataextractVxAlipayBillData")
	BaseRespVo<VxAlipayBillDataInputsRespVo> dataextractVxAlipayBillData(@RequestBody @Valid BaseReqVo<VxAlipayBillDataExtractReqVo> baseReqVo);

}
